In video processing, typically only some fraction of an image changes from picture frame to picture frame, allowing prediction from previous frames. Motion compensation is used as part of the predictive process. If an image sequence shows moving objects, then their motion within the scene can be measured, and the information used to predict the content of frames later in, or between, the sequence.
In video encoding, motion estimation is applied for the elimination of the temporal redundancy of video material and is therefore a central part of the video coding standards. As such, motion compensation is based on motion estimation for many video processing applications. Examples of motion compensation include video compression such as MPEG-2 and MPEG-4, frame rate conversion, noise reduction, de-interlacing, format conversion, etc. The core function of motion compensation and motion estimation is to find motion between pictures or, equivalently, to find a motion vector.
Many motion estimation methods have been developed. The simplest motion estimation method is a block-matching algorithm, wherein the pixel values in blocks of each frame are estimated by a displaced block of similar shape and size in a past frame. As such, this method finds the best match for a block of a target picture frame within a search area in a reference picture frame. Estimating motion results in a motion vector, which represents the geometrical displacement between the two matched blocks. The motion vector is determined by finding a vector that essentially minimizes a cost function that is a measure of mismatch between the reference and the target blocks.
A major disadvantage of conventional motion estimation methods based on block matching is that in some causes the determined motion vector is incorrect. Incorrect estimation of motion vector may introduce serious visual artifacts depending on application. Examples of such cases include motion estimation for zooming video, rotating objects, fast or large motion, and motion estimation around pattern-like objects.
There is, therefore, a need for a method for detecting pattern-like objects in pictures to enhance the reliability of motion vector estimation. There is also a need for a such a method that allows designation of the degree of reliability of the estimated motion vector.